package com.cat.orm.core.annotation;

import com.cat.orm.core.base.IBaseData;
import com.cat.orm.core.convert.PersistenceDataConverter;
import com.cat.orm.core.convert.SimpleDataJsonConvert;
import com.cat.orm.core.db.dao.CommonDao;
import com.cat.orm.core.db.dao.ConvertDao;
import com.cat.orm.core.db.dao.DelayConvertDao;
import com.cat.orm.core.db.dao.IDao;

import java.lang.annotation.*;

/**
 * 数据转化器<br>
 * @author hdh
 *
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE })
public @interface DataConverter {

    /**
     * 转换器, 默认使用
     * @return 转换器
     */
    Class<? extends PersistenceDataConverter> value() default SimpleDataJsonConvert.class;

    /**
     * 默认的dao实现
     * @return
     */
    Class<? extends IDao> dao() default ConvertDao.class;

}